home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MEDICAL / 2608A.ZIP / GP.ZIP / PRINTALL.SRC < prev    next >
Text File  |  1990-11-03  |  26KB  |  1,343 lines

  1. ;\|
  2. ;NW       02:58:05 PM  27/ 6/90   |
  3. FIELDS:
  4.     define(S1|A|1||)
  5.     define(FLAG|A|1||)
  6.     define(REC_CTR|N|1||)
  7.     define(MEM_TDND|S|8||)
  8.     define(MEM_RECNUM|N|8||)
  9.     define(FILE_ERROR|N|2||)
  10.     define(RESTRICT1|A|25||)
  11.     define(HYPHEN|A|1||)
  12.     define(ARRAY1|A|30||3)
  13.     define(ARRAY2|A|5||3)
  14.     define(ARRAY3|A|30||3)
  15.     define(ARRAY4|A|30||3)
  16.     define(ARRAY5|A|8||3)
  17.     define(ARRAY6|A|3||3)
  18.     define(ARRAY7|S|8||3)
  19.     define(ARRAY8|A|30||3)
  20.     define(ARRAY9|A|30||3)
  21.     define(RESTRICT2|A|35||)
  22.     define(S1PRNT|A|1||)
  23.     define(S10|A|10||)
  24.     define(N2|N|2|0|)
  25.     define(MINUS|N|1||)
  26.     define(FLAGGER|A|1||)
  27.     define(TIT|A|4||)
  28.     define(N3|N|3|0|)
  29.     define(N5|N|5|0|)
  30.     define(B8|A|8||)
  31.     define(N5.2|N|5|2|)
  32.     define(A5|A|5||)
  33.     define(A8|A|8||)
  34.     define(A30|A|30||)
  35.     define(B30|A|30||)
  36.     define(C30|A|30||)
  37.     define(D1|A|1||)
  38.     define(AGE|N|5|2|)
  39.     define(TD|S|8||)
  40.     define(DATERP|S|8||)
  41.     define(TDND|S|8||)
  42.     define(DATEX|S|8||)
  43.     define(REC.NUM|N|8|0|)
  44.     define(MEM.PAT.NAME|A|27||)
  45.     define(DAY|N|1|0|)
  46.     define(DOCTORRP|A|30||)
  47.     define(P2|N|2|0|)
  48.     define(PUNC2A|N|2|0|)
  49.     define(PATIENT1A|A|30||)
  50.     define(PUNC1|N|2|0|)
  51.     define(TM|A|27||16)
  52.     define(N.2.0.P|N|2|0|)
  53.     define(P.2.0.1|N|2|0|)
  54.     define(P.2.0.2|N|2|0|)
  55.     define(P.2.0.3|N|2|0|)
  56.     define(PATIENT1|A|30||)
  57.     define(PATIENT2|A|30||)
  58.     define(X1|A|1||)
  59.     define(CHOICE|N|2|0|)
  60.     define(YES.NO|A|1||)
  61.     define(A78|A|80||)
  62.     define(PCTR|N|2|0|)
  63.     define(AB|A|5||)
  64.     define(LETTER|A|6||)
  65.     define(NY|A|1||)
  66.     define(MEDCTR|N|1|0|)
  67.     define(PATCTR|N|4|0|)
  68.     define(CNTR|N|2||)
  69.     define(Z30|A|30||)
  70.     define(P2X|N|1||)
  71.     define(RPCTR|N|4||)
  72.     define(CODEX1|S|8||)
  73.     define(CODEX2|S|8||)
  74.     define(CODEX3|S|8||)
  75.     date(TD|G)
  76.     open(GPSETUP||0|EXIT)
  77.     find(B|HEADING|EXIT)
  78. TDM:
  79.     open(PATIENT||0|PATLOCK)
  80.     open(RP||0|RPLOCK)
  81.     open(ABBREV||0|EXIT)
  82.     open(RECALLS||0|EXIT)
  83.     open(RPABBREV||0|EXIT)
  84. TDMX:
  85.     clrlne(1|25)
  86.     clrlne(1|24)
  87.     trap(I|I)
  88.     gosub CLEARALL
  89.     gosub FIELDCLR
  90.     gosub TRAPS
  91.     mount(RP|S)
  92.     trap(U|I)
  93.     trap(W|I)
  94.     YES.NO = ("")
  95.     pmsg(@H;"DO YOU WANT A TEST PRESCRIPTION PRINT?"|1|25|N|Y|S|)
  96.     enter(YES.NO|"YN"|||Y|Y|N|40|25|N)
  97.     clrlne(1|25)
  98.     if YES.NO = ("N") goto MESS
  99.     pmsg(@H;"ALIGN PAPER THEN PRESS ANY KEY TO PRINT DUMMY SCRIPT"|1|25|Y|N|S|)
  100.     clrlne(1|25)
  101.     gosub MOUNTRP
  102.     trap(I|S|PRINTSTOP)
  103.     PATIENT.NAME = ("THIS SHOULD BE AT NAME")
  104.     A30 = ("THIS SHOULD BE ON END LINE")
  105.     pblnk(1)
  106.     pfmt(1|||N|N|)
  107.     pvert(40)
  108.     pblnk(1)
  109.     pfmt(7|||N|N|)
  110.     mount(RP|S)
  111.     trap(I|I)
  112.     pmsg(@H;"PRINT ANOTHER TEST PRESCRIPTION? Y/N"|1|25|N|N|S|)
  113.     enter(YES.NO|"YN"|||Y|Y|N|40|25|N)
  114.     clrlne(1|25)
  115.     if YES.NO = ("N") goto MESS
  116.     goto TDMX
  117. MESS:
  118.     clrlne(1|25)
  119.     gosub TRAPS
  120.     gosub CLEARALL
  121. PRINTRPS:
  122.     trap(Q|G|RP.EXIT)
  123.     trap(C|I)
  124. PRINTRP:
  125. PAT.NAMEX:
  126.     mount(RP|S)
  127.     clrlne(1|25)
  128.     gosub CLEARALL
  129.     gosub FIELDCLR
  130.     goto PRINTALL
  131. PRINT:
  132.     trap(I|S|PRINTSTOP)
  133.     clr(GPSETUP|B)
  134.     find(B|HEADING|EXIT)
  135.     if N2 = (0) gosub SHEADING
  136.     DATERP = (RP.NEXT.DUE+RP.DAYS.SUPPLY)
  137.     RESTRICT1 = ("")
  138.     RESTRICT2 = ("NEXT DUE:")
  139.     pblnk(1)
  140.     just(RESTRICT2|R)
  141.     if CONTROL = ("N") goto ELSE
  142.     if RESTRICT.NO > (2) goto ELSE
  143.     if ISS.RESTRICT = ("Y") do
  144.         {
  145.         A30 = (MEDICATION)
  146.         just(A30|R)
  147.         S10 = (QUANTITY)
  148.         just(S10|R)
  149.         if RESTRICT.NO = (2) do
  150.             {
  151.             RESTRICT1 = (":ONLY ONE MORE RPT IS")
  152.             RESTRICT2 = ("ALLOWED.PLEASE SEE YOUR DR BEFORE:")
  153.             trim(RESTRICT1|T)
  154.             trim(RESTRICT2|T)
  155.             pfmt(7|||N|N|)
  156.             pfmt(8|||N|N|)
  157.             pfmt(9|||N|N|)
  158.             goto ELSEX
  159.             }
  160.         if RESTRICT.NO = (1) do
  161.             {
  162.             RESTRICT1 = (":THIS IS THE LAST ISSUE.")
  163.             RESTRICT2 = ("YOU MUST SEE YOUR DR BEFORE:")
  164.             trim(RESTRICT1|T)
  165.             trim(RESTRICT2|T)
  166.             pfmt(7|||N|N|)
  167.             pfmt(8|||N|N|)
  168.             pfmt(9|||N|N|)
  169.             goto ELSEX
  170.             }
  171.         if RESTRICT.NO <= (0) do
  172.             {
  173.             MINUS = (MINUS+1)
  174.             RESTRICT1 = (" RESTRICTION REACHED!")
  175.             RESTRICT2 = ("INFORM DOCTOR IMMEDIATELY")
  176.             just(A30|R)
  177.             pfmt(28|||N|N|)
  178.             pfmt(29|||N|N|)
  179.             pblnk(1)
  180.             goto ELSEX
  181.             }
  182.         }
  183.     else
  184.         {
  185.         goto ELSE
  186.         }
  187. ELSE:
  188.     A30 = (MEDICATION)
  189.     S10 = (QUANTITY)
  190.     pfmt(7|||N|N|)
  191.     pfmt(8|||N|N|)
  192.     pfmt(9|||N|N|)
  193. ELSEX:
  194.     N2 = (N2+1)
  195.     gosub UPDT.LIST
  196.     if N2 = (5) gosub ENDPRINT
  197.     ret
  198. ENDPRINT:
  199.     MEM_RECNUM = (RECORD.NUMBER)
  200.     P2X = (N2-MINUS)
  201.     MINUS = (0)
  202. LOOPER:
  203.     if N2 <> (5) do
  204.         {
  205.         pfmt(30|||N|N|)
  206.         pblnk(3)
  207.         N2 = (N2+1)
  208.         goto LOOPER
  209.         }
  210.     pvert(31)
  211.     if S1 = ("0") do
  212.         {
  213.         pfmt(14|||N|N|)
  214.         }
  215.     else
  216.         {
  217.         pfmt(15|||N|N|)
  218.         }
  219.     pblnk(2)
  220. 60:
  221.     if S1PRNT = ("A") do
  222.         {
  223.         pfmt(17|||N|N|)
  224.         if D1 = ("Y") do
  225.             {
  226.             DAY = (DOCTOR)
  227.             RPDOCTOR = (RPDOCTOR[DAY])
  228.             DOCTORRP = (RPDOCTOR)
  229.             pfmt(19|||N|N|)
  230.             }
  231.         else
  232.             {
  233.             DAY =day(TDND)
  234.             RPDOCTOR = (RPDOCTOR[DAY])
  235.             DOCTORRP = (RPDOCTOR)
  236.             pfmt(19|||N|N|)
  237.             }
  238.         }
  239.     else
  240.         {
  241.         pfmt(18|||N|N|)
  242.         if D1 = ("Y") do
  243.             {
  244.             DAY = (DOCTOR)
  245.             RPDOCTOR = (RPDOCTOR[DAY])
  246.             DOCTORRP = (RPDOCTOR)
  247.             pfmt(20|||N|N|)
  248.             }
  249.         else
  250.             {
  251.             DAY =day(TD)
  252.             RPDOCTOR = (RPDOCTOR[DAY])
  253.             DOCTORRP = (RPDOCTOR)
  254.             pfmt(20|||N|N|)
  255.             }
  256.         }
  257.     pfmt(21|||N|N|)
  258.     pfmt(22|||N|N|)
  259. TESTDISP:
  260.     if DISPENSING = ("Y") do
  261.         {
  262.         pfmt(27|||N|N|)
  263.         }
  264. EJECT:
  265.     pvert(41)
  266.     pblnk(1)
  267.     RPCTR = (RPCTR+1)
  268.     pmsg("Number of RP's printed=";RPCTR|1|24|N|N|S|)
  269.     PUNC2A = (0)
  270.     B8 = ("A")
  271.     N2 = (0)
  272.     S1 = ("0")
  273. RETURN:
  274.     ret
  275. ;PRINT THE AUTO RPS|
  276. PRINTALL:
  277.     gosub FIELDCLR
  278.     gosub TRAPS
  279.     trap(U|I)
  280.     trap(Q|G|RP.EXIT)
  281.     saves(1)
  282.     trap(Q|I)
  283.     rev
  284.     D1 = ("N")
  285.     window(1|16|6|75)
  286.     pmsg("YOU MAY PRINT REPEATS UP TO THE DATE YOU ENTER - AUTO.ON.DEMAND =<A> ONLY"|1|1|N|N|S|)
  287.     pmsg(@R;"ENTER THE DATE:"|1|2|N|N|S|DATEX)
  288.     D1 = ("Y")
  289.     pmsg(@R;"OWN DR.<Y> OR DOCTOR OF DAY SIGNING <N>:"|1|3|N|N|S|)
  290.     enter(D1|"YN"|||Y|Y|N|41|3|N)
  291.     RP.REF = (1)
  292.     pmsg(@R;"ENTER RP.REF - USUALLY <1>:"|1|4|N|N|S|RP.REF)
  293.     pmsg(@R;"TO CONTINUE <Y> OR <N> TO EXIT:"|1|5|N|N|S|YES.NO)
  294.     frg
  295.     redsp(1)
  296.     trap(Q|G|EXIT)
  297.     S1 = ("0")
  298.     P2 = (1)
  299. DATE:
  300.     if YES.NO <> ("Y") goto TDMX
  301.     trap(I|S|PRINTSTOP)
  302.     gosub MOUNTRP
  303. PRINTALLX:
  304.     P2 = (1)
  305.     find(G|RP.REF|NEWPRINTY|)
  306.     S1PRNT = ("A")
  307.     PUNC2A = (0)
  308. NEXTALL:
  309.     RECORD.NUMBER = (RP.REF)
  310.     find(M|RECORD.NUMBER|EXIT)
  311.     MEM_RECNUM = (RECORD.NUMBER)
  312.     TDND = (RP.NEXT.DUE)
  313.     MEM_TDND = (TDND)
  314.     DATERP = (TD)
  315.     if AUTO.ON.DEMAND = ("D") goto NOTAUTO
  316.     if RP.NEXT.DUE > (DATEX) goto NOTAUTO
  317. TEST:
  318.     N5 = (N5+1)
  319.     gosub PRINT
  320. NOTAUTO:
  321.     find(N|RP|ENDPRINT?)
  322.     if AUTO.ON.DEMAND = ("D") goto NOTAUTO
  323.     if RP.NEXT.DUE > (DATEX) goto NOTAUTO
  324.     if RP.REF = (RECORD.NUMBER) goto TEST
  325.     if N2 = (0) goto XTALL
  326.     gosub ENDPRINT
  327. XTALL:
  328.     goto NEXTALL
  329. UPDT.LIST:
  330.     RP.NEXT.DUE = (RP.NEXT.DUE+RP.DAYS.SUPPLY)
  331.     ISSUE.NO = (ISSUE.NO+1)
  332.     if CONTROL = ("N") goto CONTROL2
  333.     if ISS.RESTRICT <> ("Y") do
  334.         {
  335.         RESTRICT.NO = (0)
  336.         }
  337.     else
  338.         {
  339.         RESTRICT.NO = (HOW.MANY.ISSUES-ISSUE.NO)
  340.         }
  341. CONTROL2:
  342.     ISSUE.1 = (TDND)
  343.     if S1PRNT = ("D") do
  344.         {
  345.         ISSUE.1 = (TD)
  346.         RP.NEXT.DUE = (TD+RP.DAYS.SUPPLY)
  347.         }
  348. SAVERPX:
  349.     if S1PRNT = ("A") do
  350.         {
  351.         DATERP = (RP.NEXT.DUE)
  352.         }
  353.     else
  354.         {
  355.         if DISPENSING = ("Y") do
  356.             {
  357.             PRINTR = ("L")
  358.             }
  359.         else
  360.             {
  361.             PRINTR = ("")
  362.             }
  363.         }
  364.     save(RP|N|Y|)
  365.     ret
  366. SEXIST:
  367.     TIT = ("")
  368.     if SEX = ("M") then TIT = ("Mr.")
  369.     if SEX = ("F") do
  370.         {
  371.         if MARITAL.STATUS = ("M") do
  372.             {
  373.             TIT = ("Mrs.")
  374.             }
  375.         else
  376.             {
  377.             TIT = ("Ms.")
  378.             }
  379.         }
  380.     if SEX = ("") then TIT = ("Ms.")
  381.     trim(TIT|T)
  382.     ret
  383. SHEADING:
  384.     pblnk(1)
  385.     gosub SEXIST
  386.     pfmt(1|||N|N|)
  387. LINE2:
  388.     P2 = (0)
  389.     goto REC_CHECK
  390. REC_LINES:
  391.     pblnk(3)
  392. REC_NOSUB:
  393.     pfmt(4|||N|N|)
  394.     pblnk(1)
  395.     pfmt(6|||N|N|)
  396.     pfmt(3|||N|N|)
  397.     pblnk(1)
  398.     ret
  399. ENDPRINT?:
  400.     if N2 <> (0) gosub ENDPRINT
  401.     if S1PRNT = ("A") do
  402.         {
  403.         if CONTROL = ("N") goto CONTROL3
  404.         trap(I|I)
  405.         gosub RESTDEL
  406.         close(PATIENT)
  407.         close(RP)
  408.         goto MENU
  409.         }
  410. CONTROL3:
  411.     trap(I|I)
  412.     close(PATIENT)
  413.     close(RP)
  414.     mount(RP|S)
  415.     goto MENU
  416. MOUNTRP:
  417.     mount(AUTORP|R|P)
  418.     pchr(P|10)
  419.     pchr(P|11)
  420.     pchr(P|4)
  421.     pchr(P|1)
  422.     pset(132|42|42)
  423.     ret
  424. TRAPS:
  425.     trap(I|D)
  426.     trap(Q|G|EXIT)
  427.     trap(3|I)
  428.     trap(7|S|HOME)
  429.     trap(9|S|PGUP)
  430.     trap(S|I)
  431.     trap(D|I)
  432.     trap(R|I)
  433.     trap(F|I)
  434.     trap(N|I)
  435.     trap(M|I)
  436.     trap(J|I)
  437.     trap(U|D)
  438.     trap(W|D)
  439.     trap(1|I)
  440.     trap(L|S|RECLOCK)
  441.     ret
  442. CLEARALL:
  443.     clr(PATIENT|B)
  444.     clr(RP|B)
  445.     ret
  446. ;MOUNT REPORT RPLABELS|
  447. RPLABSCR:
  448.     pchr(P|10)
  449.     pchr(P|12)
  450.     pchr(P|4)
  451.     mount(RPLABELS|R|P)
  452.     pchr(P|1)
  453.     pset(130|8|8)
  454.     ret
  455. EJECTION:
  456.     ptof
  457.     ret
  458. ;LABEL PRINTING ROUTINES FOR DEMANDS AND DISPENSING|
  459. LOOP_ARY:
  460.     CNTR = (CNTR+1)
  461.     gosub SEXIST
  462.     gosub NEWX
  463.     ARRAY1[CNTR] = (Z30)
  464.     just(ARRAY1[CNTR]|C)
  465.     ARRAY2[CNTR] = (QUANTITY)
  466.     just(ARRAY2[CNTR]|C)
  467.     ARRAY3[CNTR] = (DIRECTIONS)
  468.     just(ARRAY3[CNTR]|C)
  469.     ARRAY4[CNTR] = (MEDICATION)
  470.     just(ARRAY4[CNTR]|C)
  471.     ARRAY5[CNTR] = (DOSE)
  472.     ARRAY6[CNTR] = (RP.DISP.QTY)
  473.     ARRAY7[CNTR] = (RP.NEXT.DUE)
  474.     ARRAY8[CNTR] = (RPWARNING)
  475.     just(ARRAY8[CNTR]|C)
  476.     ARRAY9[CNTR] = (LABELS)
  477.     if CNTR = (3) gosub PRINTPX
  478.     ret
  479. CL_ARRAY:
  480.     clrmem(ARRAY1|3)
  481.     clrmem(ARRAY2|3)
  482.     clrmem(ARRAY3|3)
  483.     clrmem(ARRAY4|3)
  484.     clrmem(ARRAY5|3)
  485.     clrmem(ARRAY6|3)
  486.     clrmem(ARRAY7|3)
  487.     clrmem(ARRAY8|3)
  488.     clrmem(ARRAY9|3)
  489.     ret
  490. PRINTPX:
  491.     trap(I|S|PRINTSTOP)
  492.     pfmt(1|||N|N|)
  493.     pfmt(4|||N|N|)
  494.     pfmt(5|||N|N|)
  495.     pfmt(7|||N|N|)
  496.     pfmt(8|||N|N|)
  497.     pfmt(10|||N|N|)
  498.     pfmt(11|||N|N|)
  499.     pblnk(1)
  500.     CNTR = (0)
  501.     gosub CL_ARRAY
  502.     if FLAGGER = ("X") do
  503.         {
  504.         pops
  505.         pops
  506.         goto RUNRP
  507.         }
  508.     trap(I|I)
  509.     ret
  510. NEWX:
  511.     NY = (" ")
  512.     PATIENT1A = (PATIENT.NAME)
  513.     trim(PATIENT1A|T)
  514.     PUNC1 =loc(","|PATIENT1A|1||27)
  515.     N.2.0.P =siz(A|PATIENT.NAME)
  516.     P.2.0.1 = (PUNC1-1)
  517.     PATIENT2 =mid(PATIENT.NAME|1|P.2.0.1|)
  518.     P.2.0.2 = (PUNC1+2)
  519.     P.2.0.3 = (N.2.0.P-P.2.0.2+1)
  520.     PATIENT1 =mid(PATIENT1A|P.2.0.2|P.2.0.3|)
  521.     trim(PATIENT1|T)
  522.     trim(PATIENT2|T)
  523.     Z30 = (TIT+PATIENT1+NY+PATIENT2)
  524.     ret
  525. ;DEMAND LABEL PRINTING USING RPLABELS|
  526. XPRINT:
  527. MENU:
  528. TRUN:
  529.     TM[1] = (" 1 - AGE-SEX  REGIST  01011")
  530.     TM[2] = (" 2 - PRINT AUTOS      01022")
  531.     TM[3] = (" 3 - LABEL PRINT      01033")
  532.     TM[4] = (" 4 - DISP. LABELS     01044")
  533.     TM[5] = (" 5 - EXIT             01055")
  534.     TM[6] = (" 6 - RP REPORT        01066")
  535.     TM[7] = (" 7 - DEMAND PRINT     01077")
  536.     menu(30|20|8|23|0|TM|CHOICE|7|22|TRUN||"-----RP PRINTING-------"|n)
  537.     frg
  538.     on(CHOICE|G|PATIENT;NEWPRINTX;LABELS;RPL;EXIT2;RPRPT|DEMS)
  539. ;LABEL PRINTING FROM SCREEN USING LABLER|
  540. NEWPRINTX:
  541.     goto TDM
  542. DEMS:
  543.     run("PRINTDEM")
  544. LABELS:
  545.     open(PATIENT||0|EXIT)
  546.     open(RP||0|EXIT)
  547.     gosub TRAPS
  548.     gosub CLEARALL
  549.     gosub FIELDCLR
  550.     clrlne(1|25)
  551.     mount(LABLSCR|S)
  552. STARTL:
  553.     enter(MEM.PAT.NAME|||STARTL|Y|Y|N|||N)
  554. S101R:
  555.     enter(S10||||Y|Y|N|||N)
  556.     if S10 = (" ") goto S101R
  557.     enter(A30||||Y|Y|N|||N)
  558.     lnum(PATCTR)
  559.     S1 =mid(A30|1|1|)
  560.     if S1 = ("@") do
  561.         {
  562.         AB = (A30)
  563.         gosub LETRPABV
  564.         AB = ("")
  565.         A30 = (RPABBREV.NAME)
  566.         gosub CLRABV
  567.         }
  568. QTYL:
  569.     enter(B30||||Y|Y|N|||N)
  570.     enter(C30||||Y|Y|N|||N)
  571.     lnum(PATCTR)
  572.     S1 =mid(C30|1|1|)
  573.     if S1 = ("@") do
  574.         {
  575.         AB = (C30)
  576.         gosub LETRPABV
  577.         AB = ("")
  578.         C30 = (RPABBREV.NAME)
  579.         B30 = (WARNING)
  580.         gosub CLRABV
  581.         }
  582. ABL:
  583.     enter(A8||||Y|Y|N|||N)
  584.     enter(N3||||N|N|N|||N)
  585.     enter(A5||||Y|Y|N|||N)
  586.     enter(YES.NO|"YN"|||Y|Y|N|||N)
  587.     if YES.NO = ("N") goto NONOL
  588. PRINTLABL:
  589.     trap(I|S|PRINTSTOP)
  590.     pchr(P|10)
  591.     pchr(P|12)
  592.     pchr(P|4)
  593.     mount(LABLER|R|P)
  594.     pchr(P|1)
  595.     pset(79|13|9)
  596.     PCTR = (0)
  597.     just(MEM.PAT.NAME|C)
  598.     just(S10|C)
  599.     just(A30|C)
  600.     just(B30|C)
  601.     just(C30|C)
  602.     for(PCTR|1|9|1)
  603.         {
  604.         pfmt(PCTR|||N|N|P)
  605.         }
  606.     trap(I|I)
  607. NONOL:
  608.     mount(LABLSCR|S)
  609.     YES.NO = (" ")
  610.     S10 = (" ")
  611.     A30 = (" ")
  612.     B30 = (" ")
  613.     C30 = (" ")
  614.     A8 = (" ")
  615.     N3 = (" ")
  616.     A5 = (" ")
  617.     goto STARTL
  618. LABL:
  619.     mount(LABLSCR|S)
  620. RETL:
  621.     ret
  622. CLEARL:
  623.     clr(PATIENT|B)
  624.     goto STARTL
  625. ;PRINT DISPENSING LABELS|
  626. RPL:
  627.     open(PATIENT||0|EXIT)
  628.     open(RP||0|EXIT)
  629.     gosub CLEARALL
  630.     gosub FIELDCLR
  631.     gosub TRAPS
  632.     trap(Q|G|RUNRP)
  633.     clrlne(1|25)
  634.     saves(1)
  635.     trap(Q|I)
  636.     rev
  637.     window(15|16|4|60)
  638.     pmsg("DISPENSING LABEL PRINTING-LINE UP LABLES PLEASE"|1|1|N|N|S|)
  639.     pmsg(@R;"ENTER THE DATE TO WHICH YOU NEED LABELS:"|1|2|N|N|S|DATEX)
  640.     pmsg(@R;"TO CONTINUE PRESS<Y> TO EXIT ETC PRESS<N>"|1|3|N|N|S|YES.NO)
  641.     frg
  642.     redsp(1)
  643.     trap(Q|G|EXIT)
  644.     if YES.NO <> ("Y") goto RUNRP
  645.     X1 = ("Y")
  646.     gosub RPLABSCR
  647.     DISPENSING = ("Y")
  648.     find(M|DISPENSING|RPL)
  649. TESTR:
  650.     RP.REF = (RECORD.NUMBER)
  651.     find(M|RP.REF|PATIENTL)
  652. TESTRPL:
  653.     if AUTO.ON.DEMAND = ("D") goto NEXTRPL
  654.     if RP.NEXT.DUE > (DATEX) goto NEXTRPL
  655.     gosub LOOP_ARY
  656. NEXTRPL:
  657.     RP.REF = (RECORD.NUMBER)
  658.     find(N|RP|PATIENTL)
  659.     if RP.REF = (RECORD.NUMBER) goto TESTRPL
  660. PATIENTL:
  661.     DISPENSING = ("Y")
  662.     find(N|PATIENT|RUNRP_X|)
  663.     if DISPENSING <> ("Y") goto RUNRP
  664.     goto TESTR
  665. RUNRP_X:
  666.     CNTR = (2)
  667.     FLAGGER = ("X")
  668.     gosub LOOP_ARY
  669. RPRPT:
  670.     open(PATIENT||0|EXIT)
  671.     open(RP||0|EXIT)
  672.     gosub TRAPS
  673. ;PRINT REPEAT PRESCIBING REPORT|
  674.     clrlne(1|25)
  675.     gosub CLEARALL
  676.     gosub FIELDCLR
  677.     trap(Q|G|RUNRP)
  678.     saves(1)
  679.     trap(Q|I)
  680.     rev
  681.     window(20|12|2|40)
  682.     pmsg("DO YOU WANT AN RP REPORT <Y> or <N>:"|1|1|N|N|S|YES.NO)
  683.     frg
  684.     redsp(1)
  685.     trap(Q|G|RUNRP)
  686.     if YES.NO <> ("Y") goto RUNRP
  687. STARTER:
  688.     trap(I|S|PRINTSTOP)
  689.     gosub MOUNTRPRPT
  690.     find(B|PATIENT.NAME|RUNRP)
  691.     if DISPENSING = ("X") goto NEXTRY
  692.     N5 = (0)
  693.     gosub SHEADINGER
  694. NEXTPER:
  695.     RP.REF = (RECORD.NUMBER)
  696.     find(M|RP.REF|NEXTRY)
  697.     N5 = (N5+1)
  698.     pblnk(1)
  699.     pfmt(5|||N|N|)
  700. PRINTER:
  701.     pfmt(6|||N|N|)
  702. NEXTREC:
  703.     find(N|RP|LINER)
  704.     if RP.REF <> (RECORD.NUMBER) goto NEXTRY
  705.     goto PRINTER
  706. NEXTRY:
  707.     find(N|PATIENT|N502R)
  708.     if DISPENSING = ("X") goto NEXTRY
  709.     goto NEXTPER
  710. SHEADINGER:
  711.     pfmt(1|||N|N|)
  712.     pfmt(2|||N|N|)
  713.     pblnk(1)
  714.     pfmt(3|||N|N|)
  715.     pfmt(4|||N|N|)
  716.     pblnk(1)
  717.     ret
  718. LINER:
  719.     pblnk(1)
  720.     goto NEXTRY
  721. N502R:
  722.     pfmt(7|||N|N|)
  723.     goto RUNRP
  724. MOUNTRPRPT:
  725.     mount(RPRPT|R|A)
  726.     pchr(P|10)
  727.     pchr(P|11)
  728.     pchr(P|4)
  729.     pchr(P|1)
  730.     pset(132|66|64)
  731.     ret
  732. RP.EXIT:
  733.     gosub TRAPS
  734.     close(PATIENT)
  735.     close(RP)
  736.     goto EXIT
  737. PRINTSTOP:
  738.     pon(S)
  739.     clrlne(1|25)
  740.     pmsg("CONTINUE(Y) OR EXIT (N)   (Y/N):"|1|12|N|N|S|)
  741.     enter(YES.NO|"YN"|||Y|Y|N|35|12|N)
  742.     if YES.NO <> ("Y") then run("recmenu")
  743.     pon(P)
  744.     ret
  745. HOME:
  746.     pchr(P|10)
  747.     pchr(P|12)
  748.     for(PCTR|1|13|1)
  749.         {
  750.         pchr(P|7)
  751.         }
  752.     ret
  753. PGUP:
  754.     pchr(P|10)
  755.     pchr(P|11)
  756.     for(PCTR|1|42|1)
  757.         {
  758.         pchr(P|7)
  759.         }
  760.     ret
  761. FIELDCLR:
  762.     S1 = ("")
  763.     MINUS = (0)
  764.     D1 = ("")
  765.     S1PRNT = ("")
  766.     S10 = ("")
  767.     N2 = (0)
  768.     N3 = (0)
  769.     N5 = (0)
  770.     N5.2 = (0)
  771.     A5 = ("")
  772.     A8 = ("")
  773.     A30 = ("")
  774.     B30 = ("")
  775.     C30 = ("")
  776.     AGE = (0)
  777.     DATERP = (0)
  778.     TDND = (0)
  779.     DATEX = (0)
  780.     REC.NUM = (0)
  781.     MEM.PAT.NAME = ("")
  782.     DAY = ("")
  783.     DOCTORRP = ("")
  784.     P2 = (0)
  785.     PUNC2A = (0)
  786.     B8 = ("")
  787.     YES.NO = ("")
  788.     PCTR = (0)
  789.     AB = ("")
  790.     LETTER = ("")
  791.     NY = ("")
  792.     MEDCTR = (0)
  793.     PATCTR = (0)
  794.     P2X = (0)
  795.     CODEX1 = (0)
  796.     CODEX2 = (0)
  797.     CODEX3 = (0)
  798.     ret
  799. LETABV:
  800.     ABBREVIATION = (AB)
  801.     find(M|ABBREVIATION|GET.ABBREV)
  802.     goto RET
  803. GET.ABBREV:
  804.     gosub LETTRAP
  805.     saves(1)
  806.     trap(Q|I)
  807.     window(10|14|5|60)
  808. pmsg("ABBREVIATION :";ABBREVIATION|1|2|N|N|S|)
  809.     pmsg("ENTER ABBREV.NAME:"|1|4|N|N|S|ABBREV.NAME)
  810.     if ABBREV.NAME = ("") goto NOABV
  811.     save(ABBREV|N|N|GET.ABBREV)
  812. NOABV:
  813.     redsp(1)
  814.     trap(Q|G|EXIT)
  815.     gosub TRAPS
  816. RET:
  817.     ret
  818. LETRPABV:
  819.     RPABBREVIATION = (AB)
  820.     find(M|RPABBREVIATION|GET.RPABBR)
  821.     goto RETT
  822. GET.RPABBR:
  823.     gosub LETTRAP
  824.     saves(2)
  825.     trap(Q|I)
  826.     window(10|16|7|60)
  827.     pmsg("ABBREVIATION:";RPABBREVIATION|1|2|N|N|S|)
  828.     pmsg("ENTER RPABBREV.NAME:"|1|4|N|N|S|RPABBREV.NAME)
  829.     if RPABBREV.NAME = ("") goto NORPABV
  830. pmsg("ENTER WARNING:"|1|6|N|N|S|WARNING)
  831.     save(RPABBREV|N|N|GET.RPABBR)
  832. NORPABV:
  833.     redsp(2)
  834.     trap(Q|G|EXIT)
  835.     gosub TRAPS
  836. RETT:
  837.     ret
  838. CLRABV:
  839.     clr(ABBREV|B)
  840.     clr(RPABBREV|B)
  841.     ret
  842. LETCLR:
  843.     clr(PATIENT|B)
  844.     clr(RP|B)
  845.     ret
  846. PATIENT:
  847.     run("PATIENT")
  848. LETTRAP:
  849.     trap(U|I)
  850.     trap(W|I)
  851.     ret
  852. RUNRP:
  853.     run("PRINTALL")
  854. TRACE:
  855.     break
  856.     ret
  857. EXIT:
  858.     trap(O|S|FILER)
  859.     close(PATIENT)
  860.     close(RP)
  861.     goto MENU
  862. FILER:
  863.     lferrn(FILE_ERROR)
  864.     pmsg(FILE_ERROR|1|1|Y|N|S|)
  865.     ret
  866. EXIT2:
  867.     run("recmenu")
  868. PATLOCK:
  869.     pmsg("FILE PATIENT IN USE BY ANOTHER STATION CAN'T LOCK"|20|24|Y|N|S|)
  870.     clrlne(1|24)
  871.     run("recmenu")
  872. RPLOCK:
  873.     pmsg("FILE RP IN USE BY ANOTHER STATION - CAN'T LOCK"|20|24|Y|N|S|)
  874.     clrlne(1|24)
  875.     run("recmenu")
  876. RECLOCK:
  877.     saves(1)
  878.     pon(S)
  879.     pmsg("THIS RECORD IS LOCKED BY ANOTHER STATION - PRESS RET"|20|24|Y|N|S|)
  880.     clrlne(1|24)
  881.     redsp(1)
  882.     pon(P)
  883.     ret
  884. NEWPRINTY:
  885.     close(PATIENT)
  886.     close(RP)
  887.     goto MENU
  888. RESTDEL:
  889.     mount(RP|S)
  890. RESTDELX:
  891.     RESTRICT.NO = (-1)
  892.     find(G|RESTRICT.NO|RESTRET)
  893.     if RESTRICT.NO > (-1) goto RESTRET
  894.     if ISS.RESTRICT = ("N") goto RESTNEXT
  895.     del(RP|Y|RESTNEXT)
  896.     goto RESTDELX
  897. RESTNEXT:
  898.     find(N|RP|RESTPREV)
  899.     if RESTRICT.NO > (-1) goto RESTPREV
  900.     if ISS.RESTRICT = ("N") goto RESTNEXT
  901.     del(RP|Y|RESTNEXT)
  902.     goto RESTDELX
  903. RESTPREV:
  904.     find(P|RP|RESTRET)
  905.     if RESTRICT.NO > (-1) goto RESTRET
  906.     if ISS.RESTRICT = ("N") goto RESTPREV
  907.     del(RP|Y|RESTPREV)
  908.     goto RESTPREV
  909. RESTRET:
  910.     ret
  911. REC_CHECK:
  912.     pchr(P|18)
  913.     FLAG = ("")
  914.     COD.REF = (MEM_RECNUM)
  915.     find(M|COD.REF|REC_RET|)
  916.     for(REC_CTR|4|9|1)
  917.         {
  918.         if FLAG = ("X") goto SAVE_RECAL
  919.         if COD.D[REC_CTR] > (0) do
  920.             {
  921.             if COD.D[REC_CTR] < (DATEX) do
  922.                 {
  923.                 if REC_CTR = (4) do
  924.                     {
  925.                     pfmt(37|||N|N|)
  926.                     pfmt(38|||N|N|)
  927.                     pfmt(39|||N|N|)
  928.                     COD.D[7] = (0)
  929.                     FLAG = ("X")
  930.                     }
  931.                 if REC_CTR = (9) do
  932.                     {
  933.                     pfmt(34|||N|N|)
  934.                     pfmt(35|||N|N|)
  935.                     pfmt(36|||N|N|)
  936.                     COD.D[7] = (0)
  937.                     FLAG = ("X")
  938.                     }
  939.                 if REC_CTR = (8) do
  940.                     {
  941.                     pfmt(40|||N|N|)
  942.                     pfmt(41|||N|N|)
  943.                     pfmt(42|||N|N|)
  944.                     COD.D[7] = (0)
  945.                     FLAG = ("X")
  946.                     }
  947.                 if REC_CTR = (7) do
  948.                     {
  949.                     if COD.D[7] <> (0) do
  950.                         {
  951.                         pfmt(25|||N|N|)
  952.                         pblnk(2)
  953.                         COD.D[REC_CTR] = (COD.D[REC_CTR]+365)
  954.                         FLAG = ("X")
  955.                         }
  956.                     }
  957.                 }
  958.             }
  959.         }
  960. SAVE_RECAL:
  961.     save(RECALLS|N|Y)
  962. REC_RET:
  963.     pchr(P|19)
  964.     MEM_RECNUM = (0)
  965.     if FLAG = ("X") goto REC_NOSUB
  966.     goto REC_LINES
  967. NEWPRINT:
  968.     goto MENU
  969. \STRP      
  970.  
  971.                      REPEAT PRESCRIBING PRINTING  - AUTO
  972.  ┌─────────────────────────────────────────────────────────────────────────────┐
  973.  │             PATIENT NAME:&                          <                       │
  974.  │ Address:&                         &                      D.O.B.:&           │
  975.  └─────────┬───────────────────────────────────────┬─────────────────┬─────────┘
  976.            │  Auto/on demand? A/D :&               │numb.issued:&    │
  977.            │     Restrictions? Y/N:&for:&   issues.│numb.to go :&    │
  978.            │         Starting.date:&               └─────────────────┤
  979.            │    Days between issue:&                                 │
  980.            │            Last.issue:&                                 │
  981.            │           RP.Next.Due:&                                 │
  982.            │          Medication @:&                             <   │
  983.            │               Warning:&                                 │
  984.            │              Strength:&                                 │
  985.            │                  Dose:&                                 │
  986.            │          Directions @:&                            ░    │
  987.            │          Qtity / Type:&   /&                            │
  988.            └─────────────────────────────────────────────────────────┘
  989.            F1 - HELP   @ - ABBREVIATION  F3 - CLEAR RP   CLEAR PATIENT
  990.            HOME - EJECT LABEL * PgUp - EJECT RP  *  END - PRINT DEMANDS
  991.  
  992.  
  993.  
  994. \
  995. PATIENT.NAME
  996. ADDRESS1
  997. AREA
  998. DATE.OF.BIRTH
  999. AUTO.ON.DEMAND
  1000. ISSUE.NO
  1001. ISS.RESTRICT
  1002. HOW.MANY.ISSUES
  1003. RESTRICT.NO
  1004. RP.FIRST
  1005. RP.DAYS.SUPPLY
  1006. ISSUE.1
  1007. RP.NEXT.DUE
  1008. MEDICATION
  1009. RPWARNING
  1010. DOSE
  1011. QUANTITY
  1012. DIRECTIONS
  1013. RP.DISP.QTY
  1014. RP.WHAT.DISP
  1015. \
  1016. \R AUTORP  
  1017.                                    &   &                                  :           &
  1018.                                                                                       =========================
  1019.                                                                            ALWAYS BRING YOUR BLUE/PINK RP CARD TO THE DOCTOR.
  1020.                                                   &
  1021.  
  1022.                                                  &
  1023.                    &                              &                        &                             &
  1024.                    &          &                                             &                                  &
  1025.                                    (&  )&
  1026.  
  1027.  
  1028.  
  1029.  
  1030.                                                  &
  1031.                                                  &
  1032.                                                  &
  1033.                    &                                                          NEXT SCRIP READY TO COLLECT ON: &
  1034.                    &                                                               THIS IS "ON DEMAND" ONLY.
  1035.                    &
  1036.                    &
  1037.                    &
  1038.           &        &
  1039.           &        &
  1040.  
  1041.                                                                                PLEASE HAVE YOUR CARD CHECKED AT RECEPTION
  1042.  
  1043.  
  1044.                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                         &                              &
  1045.                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                       &
  1046.                    * * * * * & ITEM(S) * * * * * *
  1047.                                                                            NOW BEING DONE IN SEPARATE REGULAR CLINICS. YOUR CHECK IS
  1048.                                                                            ARRANGED. RING 515666 TODAY TO CONFIRM THE TIME AND DATE.
  1049.                                                                            BLOOD PRESSURE,HEART,DIABETES AND ASTHMA CHECK-UPS ARE
  1050.                                                                                *** IMPORTANT *** BLOOD PRESSURE CHECKS ***
  1051.                                                                            These checks will now be done in separate clinics.When
  1052.                                                                            your check is due ring 515666 for your appointment.
  1053.                                                                                *** IMPORTANT *** Diabetic Clinics ***
  1054.                                                                            Your check at our Diabetic Clinic is now due.Please
  1055.                                                                            ring 515666 for your appointment time at the clinic.
  1056.                                                                                *** IMPORTANT *** Asthma Clinic ***
  1057.                                                                            You are due for a check on your breathing. Please
  1058.                                                                            ring 515666 for your appointment time at the clinic.
  1059.  
  1060.                                                                                   &
  1061.  
  1062.  
  1063.  
  1064.  
  1065. \
  1066. TIT
  1067. PATIENT.NAME
  1068. PATIENT.NAME
  1069. ADDRESS1
  1070. AREA
  1071. A30
  1072. DOSE
  1073. A30
  1074. RESTRICT1
  1075. S10
  1076. DIRECTIONS
  1077. RESTRICT2
  1078. DATERP
  1079. RP.DISP.QTY
  1080. RP.WHAT.DISP
  1081. TDND
  1082. TD
  1083. TDND
  1084. FPC
  1085. DATERP
  1086. FPC
  1087. DOCTORRP
  1088. DOCTORRP
  1089. PRADDRESS
  1090. P2X
  1091. TOWN
  1092. P2X
  1093. TOWN
  1094. A30
  1095. RESTRICT1
  1096. RESTRICT2
  1097. P2X
  1098. TD
  1099. \
  1100. \R RPLABELS
  1101. &                                      &                                        &
  1102.  
  1103.  
  1104.            &                                         &                                      &
  1105. &                                       &                                       &
  1106. ------------------------------          ------------------------------          ------------------------------
  1107. &                                       &                                       &
  1108. &           (&  )     &                 &           (&  )     &                 &           (&  )     &
  1109. &                                       &                                       &
  1110. &                                       &                                       &
  1111. Keep out of reach of children!          Keep out of reach of children!          Keep out of reach of children!
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.                            (   )                                   (   )
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.                                                         CODE 1         CODE 2          CODE 3
  1143.                            -----------
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149. \
  1150. ARRAY1[1]
  1151. ARRAY1[2]
  1152. ARRAY1[3]
  1153. ARRAY2[1]
  1154. ARRAY2[2]
  1155. ARRAY2[3]
  1156. ARRAY3[1]
  1157. ARRAY3[2]
  1158. ARRAY3[3]
  1159. ARRAY4[1]
  1160. ARRAY4[2]
  1161. ARRAY4[3]
  1162. ARRAY5[1]
  1163. ARRAY6[1]
  1164. ARRAY7[1]
  1165. ARRAY5[2]
  1166. ARRAY6[2]
  1167. ARRAY7[2]
  1168. ARRAY5[3]
  1169. ARRAY6[3]
  1170. ARRAY7[3]
  1171. ARRAY8[1]
  1172. ARRAY8[2]
  1173. ARRAY8[3]
  1174. ARRAY9[1]
  1175. ARRAY9[2]
  1176. ARRAY9[3]
  1177. \
  1178. \R LABLER  
  1179.        &
  1180.                 &
  1181.       &
  1182.       &
  1183.       ------------------------------
  1184.       &
  1185.       &        &   &     &
  1186.       &
  1187.       Keep out of reach of children!
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227. \
  1228. MEM.PAT.NAME
  1229. S10
  1230. A30
  1231. B30
  1232. C30
  1233. A8
  1234. N3
  1235. A5
  1236. TD
  1237. LABELS
  1238. \
  1239. \R RPRPT   
  1240. REPEAT PRESCRIBING REPORT - &
  1241. -----------------------------------
  1242.          PATIENT                   STRENGTH     FIRST       LAST         NEXT     A/D    TABS DAYS     RP.REF  NO.ISSUED H/M R/NO
  1243. ---------------------------------------------------------------------------------------------------------------------------------
  1244. &                             DISP?:&
  1245.     &                              &           &           &           &           &    &      &     &            &   [&  ][&  ]
  1246.          NUMBER:&
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288. \
  1289. TD
  1290. PATIENT.NAME
  1291. DISPENSING
  1292. MEDICATION
  1293. DOSE
  1294. RP.FIRST
  1295. ISSUE.1
  1296. RP.NEXT.DUE
  1297. AUTO.ON.DEMAND
  1298. RP.DISP.QTY
  1299. RP.DAYS.SUPPLY
  1300. RP.REF
  1301. ISSUE.NO
  1302. HOW.MANY.ISSUES
  1303. RESTRICT.NO
  1304. N5
  1305. \
  1306. \STLABLSCR 
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.                                   PRINT OWN LABELS
  1314.                ╔════════════════════════════════════════════════════╗
  1315.                ║ 1.PATIENTS NAME:  :&                          ░░░░░║
  1316.                ║ 2.DOSE:           :&         ░░░░░░░░░░░░░░░░░░░░░░║
  1317.                ║ 3.INSTRUCTIONS   @:&                             ░░║
  1318.                ║ 4.WARNING:        :&                             ░░║
  1319.                ║ 5.DRUG           @:&                             ░░║
  1320.                ║ 6.STRENGTH        :&       ░░░░░░░░░░░░░░░░░░░░░░░░║
  1321.                ║ 7.NUMBER DISPENSED:&  /&    ░░░░░░░░░░░░░░░░░░░░░░░║
  1322.                ║ 8.TODAYS DATE     :&       ░░░░░░░░░░░░░░░░░░░░░░░░║
  1323.                ║ 9.PRINT IT? Y/N   :&░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░║
  1324.                ╚════════════════════════════════════════════════════╝
  1325.                 F1 - HELP    @ - ABBREVIATION    ESC - EXIT TO MENU
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331. \
  1332. MEM.PAT.NAME
  1333. S10
  1334. A30
  1335. B30
  1336. C30
  1337. A8
  1338. N3
  1339. A5
  1340. TD
  1341. YES.NO
  1342. \
  1343.